package com.xiaoshuidi.cloud.framework.fadada.core;

import com.xiaoshuidi.cloud.framework.fadada.core.service.dto.CompanyCertInfoRes;
import com.xiaoshuidi.cloud.framework.fadada.core.service.dto.FadadaResponse;
import com.xiaoshuidi.cloud.framework.fadada.core.service.dto.PersonCertInfoRes;
import com.xiaoshuidi.cloud.framework.fadada.core.service.dto.VerifyUrlRes;
import com.fadada.sdk.base.model.req.RegisterAccountParams;
import com.fadada.sdk.verify.model.req.*;

/**
 * @Description:
 * @author: zhaoyu
 * @date: 2023/4/23
 */
public interface FadadaAuthServiceApi {

    /**
     * @description: 注册账号
     * @param params
     *  open_id 自定义 建议是用户在接入方的唯一标识
     *  account_type 1:个人  2:企业
     * @return: java.lang.String
     *  customer_id
     */
    String accountRegister(RegisterAccountParams params);

    /**
     * @description: 获取个人实名地址
     * @param params
     * @return: com.xiaoshuidi.cloud.framework.fadada.core.service.dto.VerifyUrlRes
     */
    VerifyUrlRes getPersonVerifyUrl(PersonVerifyUrlParams params);

    /**
     * @description: 获取企业实名地址
     * @param params
     * @return: com.xiaoshuidi.cloud.framework.fadada.core.service.dto.VerifyUrlRes
     */
    VerifyUrlRes getCompanyVerifyUrl(CompanyVerifyUrlParams params);

    /**
     * @description: 查询个人实名认证信息
     * @param params
     * @return: com.xiaoshuidi.cloud.framework.fadada.core.service.dto.PersonCertInfoRes
     */
    PersonCertInfoRes findPersonCertInfo(FindPersonCertParams params);

    /**
     * @description: 查询企业实名认证信息
     * @param params
     * @return: com.xiaoshuidi.cloud.framework.fadada.core.service.dto.CompanyCertInfoRes
     */
    CompanyCertInfoRes findCompanyCertInfo(FindCompanyCertParams params);

    /**
     * @description: 通过uuid下载文件
     * @param params
     * @return: java.lang.String
     */
    String getFile(FileForUUIDParams params);

    Boolean applyCert(ApplyCertParams params);


}
